<?php
/**
 * Created by PhpStorm.
 * User: yangfan
 * Date: 2019/11/8
 * Time: 3:26 PM
 */

namespace App\BO\OrderStatus;

interface IJudgeOrderState
{
    /**
     * 是等待初始化
     * @return bool
     */
    public function isWaitingInit();

    /**
     * 订单是否为待支付状态
     *
     * @return bool
     */
    public function isPending();

    /**
     * 订单是否待分配
     * @return bool
     */
    public function isDistributing();

    /**
     * 待上门服务
     * @return bool
     */
    public function isWaitingService();

    /**
     * 等待退款
     * @return bool
     */
    public function isRefunding();

    /**
     * 是否为退款被后台管理员拒绝的状态
     * @return bool
     */
    public function isRefundRejectedByAdmin();

    /**
     * 是否待评价
     * @return bool
     */
    public function isWaitingComment();

    /**
     * 已评价
     * @return bool
     */
    public function reviewed();

    /**
     * 退款成功
     * @return bool
     */
    public function isRefundSuccess();

    /**
     * 过期末支付，订单关闭
     * @return bool
     */
    public function isExpireClosed();

    /**
     * 订单是否已经关闭
     * @return bool
     */
    public function isClosed();
}
